#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void qsort(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *));
// 没有返回值
// 1.void类型的指针 整数 整数  compar是一个函数的指针

int compar(const void *a, const void *b)
{
    int *aa = (int *)a, *bb = (int *)b;
    if (*aa > *bb)
    {
        return 1;
    }
    if (*aa == *bb)
    {
        return 0;
    }
    if (*aa < *bb)
    {
        return -1;
    }
}

int compar1(const void *a, const void *b)
{
    return 1.0 * rand() / (RAND_MAX) > 0.5 ? 1 : -1;
}


void qsort(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *)){
    (*compar)(1, 2);
}
int main()
{
    srand((int)time(0));
    printf("rand() = %d\n", rand());
    int arr[] = {9, 5, 2, 7, 3, 1, 4, 6, 8};
    int len = sizeof(arr) / sizeof(int);

    qsort(arr, len, sizeof(int), compar1);
    for (int i = 0; i < len; i++)
    {
        printf("%d", arr[i]);
    }
    return 0;
}